[INFO] fetching crate swh-graph-grpc-server 11.4.5...
[INFO] fixing swh-graph-grpc-server-11.4.5 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate swh-graph-grpc-server 11.4.5 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate swh-graph-grpc-server 11.4.5
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate swh-graph-grpc-server 11.4.5
[INFO] tweaked toml for crates.io crate swh-graph-grpc-server 11.4.5 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate swh-graph-grpc-server 11.4.5 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate swh-graph-grpc-server 11.4.5 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 57009272408cc11b60ff19ca576968b64d9097430250dc24d1441e8e625a1746
[INFO] running `Command { std: "docker" "start" "57009272408cc11b60ff19ca576968b64d9097430250dc24d1441e8e625a1746", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "57009272408cc11b60ff19ca576968b64d9097430250dc24d1441e8e625a1746" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "57009272408cc11b60ff19ca576968b64d9097430250dc24d1441e8e625a1746", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "57009272408cc11b60ff19ca576968b64d9097430250dc24d1441e8e625a1746" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling proc-macro2 v1.0.94
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]     Checking once_cell v1.21.2
[INFO] [stderr]     Checking itoa v1.0.10
[INFO] [stderr]    Compiling either v1.9.0
[INFO] [stderr]    Compiling thiserror v1.0.51
[INFO] [stderr]     Checking pin-project-lite v0.2.13
[INFO] [stderr]     Checking bitflags v2.9.4
[INFO] [stderr]     Checking foldhash v0.2.0
[INFO] [stderr]     Checking aho-corasick v1.1.2
[INFO] [stderr]    Compiling log v0.4.22
[INFO] [stderr]    Compiling rustversion v1.0.14
[INFO] [stderr]    Compiling object v0.36.7
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]     Checking adler2 v2.0.0
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]     Checking gimli v0.31.1
[INFO] [stderr]     Checking rustc-demangle v0.1.24
[INFO] [stderr]     Checking http v1.1.0
[INFO] [stderr]    Compiling itertools v0.11.0
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]     Checking miniz_oxide v0.8.2
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]     Checking ryu v1.0.16
[INFO] [stderr]    Compiling litemap v0.7.5
[INFO] [stderr]    Compiling writeable v0.5.5
[INFO] [stderr]    Compiling rustix v0.38.31
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]     Checking crossbeam-deque v0.8.4
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]     Checking serde_json v1.0.145
[INFO] [stderr]    Compiling icu_locid_transform_data v1.5.1
[INFO] [stderr]    Compiling syn v2.0.116
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling proc-macro-error-attr2 v2.0.0
[INFO] [stderr]    Compiling jobserver v0.1.32
[INFO] [stderr]     Checking anstyle v1.0.6
[INFO] [stderr]     Checking indexmap v2.11.4
[INFO] [stderr]     Checking anstyle-parse v0.2.3
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]    Compiling cc v1.2.7
[INFO] [stderr]     Checking deranged v0.3.11
[INFO] [stderr]    Compiling icu_properties_data v1.5.1
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling fastrand v2.0.1
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking mio v0.8.10
[INFO] [stderr]     Checking socket2 v0.5.5
[INFO] [stderr]     Checking addr2line v0.24.2
[INFO] [stderr]     Checking getrandom v0.2.11
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling glob v0.3.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking anstyle-query v1.0.2
[INFO] [stderr]     Checking time-core v0.1.2
[INFO] [stderr]     Checking colorchoice v1.0.0
[INFO] [stderr]     Checking anstream v0.6.11
[INFO] [stderr]     Checking time v0.3.36
[INFO] [stderr]     Checking walkdir v2.4.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]    Compiling clang-sys v1.8.1
[INFO] [stderr]    Compiling tempfile v3.12.0
[INFO] [stderr]     Checking rayon-core v1.12.1
[INFO] [stderr]    Compiling icu_normalizer_data v1.5.1
[INFO] [stderr]    Compiling utf16_iter v1.0.5
[INFO] [stderr]    Compiling unicode-width v0.1.11
[INFO] [stderr]    Compiling termcolor v1.1.3
[INFO] [stderr]    Compiling getrandom v0.3.2
[INFO] [stderr]    Compiling write16 v1.0.0
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]     Checking sync_wrapper v1.0.1
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking half v2.3.1
[INFO] [stderr]     Checking combine v4.6.6
[INFO] [stderr]     Checking rand_core v0.10.0
[INFO] [stderr]    Compiling zstd-safe v7.2.0
[INFO] [stderr]    Compiling zstd-sys v2.0.12+zstd.1.5.6
[INFO] [stderr]    Compiling libz-sys v1.1.22
[INFO] [stderr]    Compiling openssl-sys v0.9.103
[INFO] [stderr]    Compiling link-cplusplus v1.0.9
[INFO] [stderr]    Compiling cxxbridge-flags v1.0.124
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]    Compiling cxx v1.0.124
[INFO] [stderr]    Compiling libgit2-sys v0.18.1+1.9.0
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling codespan-reporting v0.11.1
[INFO] [stderr]    Compiling libloading v0.8.6
[INFO] [stderr]    Compiling itertools v0.9.0
[INFO] [stderr]    Compiling autocxx-bindgen v0.71.1
[INFO] [stderr]     Checking encoding_index_tests v0.1.4
[INFO] [stderr]    Compiling percent-encoding v2.3.1
[INFO] [stderr]    Compiling lambert_w v1.0.20
[INFO] [stderr]     Checking miniz_oxide v0.7.1
[INFO] [stderr]     Checking num-format v0.4.4
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]     Checking backtrace v0.3.74
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking crc32fast v1.3.2
[INFO] [stderr]     Checking chacha20 v0.10.0
[INFO] [stderr]     Checking env_filter v0.1.0
[INFO] [stderr]     Checking pluralizer v0.5.0
[INFO] [stderr]     Checking sysinfo v0.35.2
[INFO] [stderr]     Checking aliasable v0.1.3
[INFO] [stderr]     Checking stable_try_trait_v2 v1.75.1
[INFO] [stderr]     Checking arbitrary-chunks v0.4.1
[INFO] [stderr]    Compiling semver v1.0.22
[INFO] [stderr]    Compiling scratch v1.0.7
[INFO] [stderr]    Compiling openssl v0.10.66
[INFO] [stderr]    Compiling rustc-hash v2.1.0
[INFO] [stderr]     Checking partition v0.1.2
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking maybe-dangling v0.1.2
[INFO] [stderr]     Checking env_logger v0.11.5
[INFO] [stderr]     Checking flate2 v1.0.28
[INFO] [stderr]    Compiling aquamarine v0.1.12
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking rand v0.10.0
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]     Checking thread-priority v3.0.0
[INFO] [stderr]     Checking dsi-progress-logger v0.8.2
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling bytes v1.10.1
[INFO] [stderr]    Compiling indoc v1.0.9
[INFO] [stderr]    Compiling native-tls v0.2.12
[INFO] [stderr]     Checking jiff v0.2.16
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling impl-tools-lib v0.11.4
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling darling_core v0.20.10
[INFO] [stderr]     Checking rdst v0.20.14
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]    Compiling cxx-gen v0.7.124
[INFO] [stderr]    Compiling env_logger v0.9.3
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking terminal_size v0.3.0
[INFO] [stderr]     Checking hybrid-array v0.4.10
[INFO] [stderr]     Checking encoding_rs v0.8.33
[INFO] [stderr]    Compiling iana-time-zone v0.1.58
[INFO] [stderr]     Checking clap_lex v0.7.2
[INFO] [stderr]     Checking sync-cell-slice v0.9.12
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]     Checking clap_builder v4.5.13
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.51
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling pin-project-internal v1.1.3
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking yoke v0.7.5
[INFO] [stderr]     Checking zerovec v0.10.4
[INFO] [stderr]     Checking tokio v1.37.0
[INFO] [stderr]    Compiling prost-derive v0.13.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling enum-as-inner v0.6.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling zerocopy-derive v0.8.27
[INFO] [stderr]    Compiling impl-tools v0.11.4
[INFO] [stderr]     Checking sysctl v0.6.0
[INFO] [stderr]    Compiling darling_macro v0.20.10
[INFO] [stderr]     Checking tinystr v0.7.6
[INFO] [stderr]     Checking icu_collections v1.5.0
[INFO] [stderr]     Checking common_traits v0.12.0
[INFO] [stderr]    Compiling icu_locid v1.5.0
[INFO] [stderr]     Checking pin-project v1.1.3
[INFO] [stderr]    Compiling mem_dbg-derive v0.3.0
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]    Compiling darling v0.20.10
[INFO] [stderr]    Compiling sealed v0.6.0
[INFO] [stderr]     Checking thiserror v2.0.17
[INFO] [stderr]     Checking mmap-rs v0.7.0
[INFO] [stderr]    Compiling epserde-derive v0.12.1
[INFO] [stderr]    Compiling value-traits-derive v0.2.1
[INFO] [stderr]    Compiling lender-derive v0.1.3
[INFO] [stderr]    Compiling miette-derive v5.10.0
[INFO] [stderr]     Checking lender v0.6.2
[INFO] [stderr]     Checking zerocopy v0.8.27
[INFO] [stderr]    Compiling derive_setters v0.1.6
[INFO] [stderr]     Checking icu_provider v1.5.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking mem_dbg v0.4.0
[INFO] [stderr]     Checking icu_locid_transform v1.5.0
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking value-traits v0.2.1
[INFO] [stderr]    Compiling ambassador v0.5.0
[INFO] [stderr]    Compiling mem_dbg-derive v0.2.0
[INFO] [stderr]     Checking icu_properties v1.5.1
[INFO] [stderr]    Compiling miette v5.10.0
[INFO] [stderr]     Checking uuid v1.10.0
[INFO] [stderr]     Checking debugid v0.8.0
[INFO] [stderr]     Checking http-body-util v0.1.2
[INFO] [stderr]     Checking epserde v0.12.1
[INFO] [stderr]     Checking mem_dbg v0.3.2
[INFO] [stderr]     Checking prost v0.13.2
[INFO] [stderr]     Checking axum-core v0.5.2
[INFO] [stderr]    Compiling autocxx-parser v0.27.1
[INFO] [stderr]     Checking rand v0.9.0
[INFO] [stderr]    Compiling cxxbridge-macro v1.0.124
[INFO] [stderr]    Compiling prost-types v0.13.2
[INFO] [stderr]     Checking java-properties v2.0.0
[INFO] [stderr]    Compiling petgraph v0.6.4
[INFO] [stderr]    Compiling clap_derive v4.5.13
[INFO] [stderr]    Compiling async-trait v0.1.85
[INFO] [stderr]    Compiling autocxx-engine v0.27.1
[INFO] [stderr]     Checking dsi-bitstream v0.7.0
[INFO] [stderr]     Checking icu_normalizer v1.5.0
[INFO] [stderr]    Compiling cxx-build v1.0.119
[INFO] [stderr]     Checking tokio-util v0.7.10
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking parallel_frontier v0.1.1
[INFO] [stderr]     Checking float-cmp v0.9.0
[INFO] [stderr]    Compiling findshlibs v0.10.2
[INFO] [stderr]     Checking idna_adapter v1.2.0
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]    Compiling autocxx v0.27.0
[INFO] [stderr]     Checking nonmax v0.5.5
[INFO] [stderr]     Checking dary_heap v0.3.6
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]    Compiling multimap v0.8.3
[INFO] [stderr]     Checking predicates-core v1.0.6
[INFO] [stderr]     Checking h2 v0.4.6
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]     Checking no-break v0.1.2
[INFO] [stderr]     Checking predicates v3.1.2
[INFO] [stderr]    Compiling prost-build v0.13.2
[INFO] [stderr]    Compiling autocxx-macro v0.27.1
[INFO] [stderr]     Checking clap v4.5.13
[INFO] [stderr]     Checking block-buffer v0.12.0
[INFO] [stderr]     Checking crypto-common v0.2.1
[INFO] [stderr]    Compiling sentry-contexts v0.32.3
[INFO] [stderr]     Checking sentry-types v0.32.3
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking axum v0.8.4
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking kahan v0.1.4
[INFO] [stderr]     Checking encoding-index-singlebyte v1.20141219.5
[INFO] [stderr]     Checking encoding-index-japanese v1.20141219.5
[INFO] [stderr]     Checking encoding-index-korean v1.20141219.5
[INFO] [stderr]     Checking encoding-index-simpchinese v1.20141219.5
[INFO] [stderr]     Checking encoding-index-tradchinese v1.20141219.5
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking cpufeatures v0.2.11
[INFO] [stderr]    Compiling typewit_proc_macros v1.8.1
[INFO] [stderr]     Checking rustls-pki-types v1.8.0
[INFO] [stderr]     Checking digest v0.11.2
[INFO] [stderr]     Checking typewit v1.9.0
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking encoding v0.2.33
[INFO] [stderr]     Checking tracing-subscriber v0.3.18
[INFO] [stderr]    Compiling tonic-build v0.13.1
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking rustls-pemfile v2.1.3
[INFO] [stderr]     Checking moveit v0.6.0
[INFO] [stderr]     Checking clap_complete v4.5.13
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking hostname v0.4.0
[INFO] [stderr]     Checking uname v0.1.1
[INFO] [stderr]     Checking ipnet v2.10.0
[INFO] [stderr]     Checking outref v0.5.1
[INFO] [stderr]     Checking futures v0.3.30
[INFO] [stderr]     Checking java-properties v1.4.1
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking base64-simd v0.8.0
[INFO] [stderr]     Checking const_panic v0.2.8
[INFO] [stderr]     Checking sha2 v0.11.0
[INFO] [stderr]     Checking const-hex v1.11.1
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]     Checking faster-hex v0.8.1
[INFO] [stderr]     Checking bytemuck v1.23.2
[INFO] [stderr]     Checking async-scoped v0.9.0
[INFO] [stderr]     Checking cadence v1.4.0
[INFO] [stderr]    Compiling swh-graph-grpc-server v11.4.5 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating build.rs from 2021 edition to 2024
[INFO] [stderr]     Checking sentry-core v0.32.3
[INFO] [stderr]    Compiling zstd-safe v6.0.6
[INFO] [stderr]    Compiling autocxx-build v0.27.1
[INFO] [stderr]     Checking zstd v0.13.2
[INFO] [stderr]     Checking sentry-backtrace v0.32.3
[INFO] [stderr]     Checking sentry-debug-images v0.32.3
[INFO] [stderr]     Checking sentry-tower v0.32.3
[INFO] [stderr]     Checking sentry-tracing v0.32.3
[INFO] [stderr]     Checking sentry-anyhow v0.32.3
[INFO] [stderr]     Checking zstd v0.12.4
[INFO] [stderr]     Checking sentry-panic v0.32.3
[INFO] [stderr]     Checking sux v0.12.2
[INFO] [stderr]     Checking hyper v1.4.1
[INFO] [stderr]    Compiling pthash v0.4.0
[INFO] [stderr]     Checking hyper-util v0.1.7
[INFO] [stderr]    Compiling git2 v0.20.1
[INFO] [stderr]     Checking hyper-timeout v0.5.1
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking reqwest v0.12.7
[INFO] [stderr]     Checking tonic v0.13.1
[INFO] [stderr]     Checking sentry v0.32.3
[INFO] [stderr]     Checking webgraph v0.6.0
[INFO] [stderr]     Checking card-est-array v0.2.1
[INFO] [stderr]    Compiling built v0.8.0
[INFO] [stderr]     Checking tonic-health v0.13.1
[INFO] [stderr]     Checking tonic-middleware v0.3.0
[INFO] [stderr]     Checking tonic-reflection v0.13.1
[INFO] [stderr]    Compiling webgraph-cli v0.4.0
[INFO] [stderr]     Checking webgraph-algo v0.6.0
[INFO] [stderr]     Checking swh-graph v11.4.5
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/traversal.rs (3 fixes)
[INFO] [stderr]        Fixed src/find_path.rs (3 fixes)
[INFO] [stderr]        Fixed src/statsd.rs (1 fix)
[INFO] [stderr]        Fixed src/metrics.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/find_path.rs:249:53
[INFO] [stdout]     |
[INFO] [stdout] 249 |                             src[0..5].iter().chain([&"...".to_owned()]).join(", ")
[INFO] [stdout]     |                             ------------------------^^^^^^^^^^^^^^^^^--
[INFO] [stdout]     |                             |                       |
[INFO] [stdout]     |                             |                       this temporary value will be dropped at the end of the block
[INFO] [stdout]     |                             a temporary with access to the borrow is created here ...
[INFO] [stdout] 250 |                         };
[INFO] [stdout]     |                         - ... and the borrow might be used here, when that temporary is dropped and runs the destructor for type `std::iter::Chain<std::slice::Iter<'_, std::string::String>, std::array::IntoIter<&std::string::String, 1>>`
[INFO] [stdout] ...
[INFO] [stdout] 262 |                 find_path_to!(graph)
[INFO] [stdout]     |                 -------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the temporary is part of an expression at the end of a block;
[INFO] [stdout]             consider forcing this temporary to be dropped sooner, before the block's local variables are dropped
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `find_path_to` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: for example, you could save the expression's value in a new local variable `x` and then make `x` be the expression at the end of the block
[INFO] [stdout]     |
[INFO] [stdout] 262 |                 let x = find_path_to!(graph); x
[INFO] [stdout]     |                 +++++++                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/find_path.rs:249:53
[INFO] [stdout]     |
[INFO] [stdout] 249 |                             src[0..5].iter().chain([&"...".to_owned()]).join(", ")
[INFO] [stdout]     |                             ------------------------^^^^^^^^^^^^^^^^^--
[INFO] [stdout]     |                             |                       |
[INFO] [stdout]     |                             |                       this temporary value will be dropped at the end of the block
[INFO] [stdout]     |                             a temporary with access to the borrow is created here ...
[INFO] [stdout] 250 |                         };
[INFO] [stdout]     |                         - ... and the borrow might be used here, when that temporary is dropped and runs the destructor for type `std::iter::Chain<std::slice::Iter<'_, std::string::String>, std::array::IntoIter<&std::string::String, 1>>`
[INFO] [stdout] ...
[INFO] [stdout] 266 |                 find_path_to!(graph)
[INFO] [stdout]     |                 -------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the temporary is part of an expression at the end of a block;
[INFO] [stdout]             consider forcing this temporary to be dropped sooner, before the block's local variables are dropped
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `find_path_to` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: for example, you could save the expression's value in a new local variable `x` and then make `x` be the expression at the end of the block
[INFO] [stdout]     |
[INFO] [stdout] 266 |                 let x = find_path_to!(graph); x
[INFO] [stdout]     |                 +++++++                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/find_path.rs:576:45
[INFO] [stdout]     |
[INFO] [stdout] 576 |                     src[0..5].iter().chain([&"...".to_owned()]).join(", ")
[INFO] [stdout]     |                     ------------------------^^^^^^^^^^^^^^^^^--
[INFO] [stdout]     |                     |                       |
[INFO] [stdout]     |                     |                       this temporary value will be dropped at the end of the block
[INFO] [stdout]     |                     a temporary with access to the borrow is created here ...
[INFO] [stdout] 577 |                 };
[INFO] [stdout]     |                 - ... and the borrow might be used here, when that temporary is dropped and runs the destructor for type `std::iter::Chain<std::slice::Iter<'_, std::string::String>, std::array::IntoIter<&std::string::String, 1>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the temporary is part of an expression at the end of a block;
[INFO] [stdout]             consider forcing this temporary to be dropped sooner, before the block's local variables are dropped
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] help: for example, you could save the expression's value in a new local variable `x` and then make `x` be the expression at the end of the block
[INFO] [stdout]     |
[INFO] [stdout] 576 |                     let x = src[0..5].iter().chain([&"...".to_owned()]).join(", "); x
[INFO] [stdout]     |                     +++++++                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/find_path.rs:581:45
[INFO] [stdout]     |
[INFO] [stdout] 581 |                     dst[0..5].iter().chain([&"...".to_owned()]).join(", ")
[INFO] [stdout]     |                     ------------------------^^^^^^^^^^^^^^^^^--
[INFO] [stdout]     |                     |                       |
[INFO] [stdout]     |                     |                       this temporary value will be dropped at the end of the block
[INFO] [stdout]     |                     a temporary with access to the borrow is created here ...
[INFO] [stdout] 582 |                 };
[INFO] [stdout]     |                 - ... and the borrow might be used here, when that temporary is dropped and runs the destructor for type `std::iter::Chain<std::slice::Iter<'_, std::string::String>, std::array::IntoIter<&std::string::String, 1>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the temporary is part of an expression at the end of a block;
[INFO] [stdout]             consider forcing this temporary to be dropped sooner, before the block's local variables are dropped
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] help: for example, you could save the expression's value in a new local variable `x` and then make `x` be the expression at the end of the block
[INFO] [stdout]     |
[INFO] [stdout] 581 |                     let x = dst[0..5].iter().chain([&"...".to_owned()]).join(", "); x
[INFO] [stdout]     |                     +++++++                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/metrics.rs:50:15
[INFO] [stdout]      |
[INFO] [stdout]   34 | #[tonic::async_trait]
[INFO] [stdout]      |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]   46 |         let uri = req.uri().clone();
[INFO] [stdout]      |             ---
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `uri` calls a custom destructor
[INFO] [stdout]      |             `uri` will be dropped later as of Edition 2024
[INFO] [stdout]   47 |         let request_id = self.request_id.fetch_add(1, Ordering::Relaxed);
[INFO] [stdout]   48 |         let span = span!(Level::INFO, "request", id = request_id,);
[INFO] [stdout]      |             ----
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `span` calls a custom destructor
[INFO] [stdout]      |             `span` will be dropped later as of Edition 2024
[INFO] [stdout]   49 |
[INFO] [stdout]   50 |         match service.call(req).instrument(span.clone()).await {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.10.1/src/bytes.rs:684:1
[INFO] [stdout]      |
[INFO] [stdout]  684 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `uri` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.10.1/src/bytes.rs:684:1
[INFO] [stdout]      |
[INFO] [stdout]  684 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `span` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tracing-0.1.40/src/span.rs:1455:1
[INFO] [stdout]      |
[INFO] [stdout] 1455 | impl Drop for Span {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl FnMut(usize, u64, std::option::Option<u64>) -> Result<VisitFlow, Error>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/find_path.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |             impl FnMut(usize, u64, Option<u64>) -> Result<VisitFlow, Error>,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/find_path.rs:48:48
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl<S: super::TraversalServiceTrait> FindPath<'_, S> {
[INFO] [stdout]    |                                                ^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |         'a,
[INFO] [stdout]    |         ^^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/find_path.rs:58:18
[INFO] [stdout]    |
[INFO] [stdout] 58 |         on_node: impl FnMut(usize, u64, Option<u64>) -> Result<VisitFlow, Error> + Send + 'a,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 59 |         mut on_arc: impl FnMut(usize, usize) -> Result<VisitFlow, Error> + Send + 'a,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 54 ~     , T: FnMut(usize, u64, Option<u64>) -> Result<VisitFlow, Error> + Send + 'a, U: FnMut(usize, usize) -> Result<VisitFlow, Error> + Send + 'a>(
[INFO] [stdout] 55 |         &'a self,
[INFO] [stdout] 56 |         config: VisitorConfig,
[INFO] [stdout] 57 |         graph: G,
[INFO] [stdout] 58 ~         on_node: T,
[INFO] [stdout] 59 ~         mut on_arc: U,
[INFO] [stdout] 60 |     ) -> Result<
[INFO] [stdout] ...
[INFO] [stdout] 63 |             Error,
[INFO] [stdout] 64 ~             impl FnMut(usize, u64, Option<u64>) -> Result<VisitFlow, Error> + use<G, Error, S, T, U>,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl FnMut(usize, usize, u64) -> Result<VisitFlow, Error>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/find_path.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |             impl FnMut(usize, usize, u64) -> Result<VisitFlow, Error>,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/find_path.rs:48:48
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl<S: super::TraversalServiceTrait> FindPath<'_, S> {
[INFO] [stdout]    |                                                ^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |         'a,
[INFO] [stdout]    |         ^^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/find_path.rs:58:18
[INFO] [stdout]    |
[INFO] [stdout] 58 |         on_node: impl FnMut(usize, u64, Option<u64>) -> Result<VisitFlow, Error> + Send + 'a,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 59 |         mut on_arc: impl FnMut(usize, usize) -> Result<VisitFlow, Error> + Send + 'a,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 54 ~     , T: FnMut(usize, u64, Option<u64>) -> Result<VisitFlow, Error> + Send + 'a, U: FnMut(usize, usize) -> Result<VisitFlow, Error> + Send + 'a>(
[INFO] [stdout] 55 |         &'a self,
[INFO] [stdout] 56 |         config: VisitorConfig,
[INFO] [stdout] 57 |         graph: G,
[INFO] [stdout] 58 ~         on_node: T,
[INFO] [stdout] 59 ~         mut on_arc: U,
[INFO] [stdout] 60 |     ) -> Result<
[INFO] [stdout] ...
[INFO] [stdout] 64 |             impl FnMut(usize, u64, Option<u64>) -> Result<VisitFlow, Error>,
[INFO] [stdout] 65 ~             impl FnMut(usize, usize, u64) -> Result<VisitFlow, Error> + use<G, Error, S, T, U>,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl FnMut(usize, u64, std::option::Option<u64>) -> Result<VisitFlow, Error>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/traversal.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |             impl FnMut(usize, u64, Option<u64>) -> Result<VisitFlow, Error>,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/traversal.rs:36:55
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl<S: TraversalServiceTrait + Sync> SimpleTraversal<'_, S> {
[INFO] [stdout]    |                                                       ^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |         'a,
[INFO] [stdout]    |         ^^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/traversal.rs:46:22
[INFO] [stdout]    |
[INFO] [stdout] 46 |         mut on_node: impl FnMut(usize, Option<u64>) -> Result<(), Error> + Send + 'a,
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 47 |         mut on_arc: impl FnMut(usize, usize) -> Result<(), Error> + Send + 'a,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 42 ~     , T: FnMut(usize, Option<u64>) -> Result<(), Error> + Send + 'a, U: FnMut(usize, usize) -> Result<(), Error> + Send + 'a>(
[INFO] [stdout] 43 |         &'a self,
[INFO] [stdout] 44 |         request: Request<proto::TraversalRequest>,
[INFO] [stdout] 45 |         subgraph: G,
[INFO] [stdout] 46 ~         mut on_node: T,
[INFO] [stdout] 47 ~         mut on_arc: U,
[INFO] [stdout] 48 |     ) -> Result<
[INFO] [stdout] ...
[INFO] [stdout] 51 |             Error,
[INFO] [stdout] 52 ~             impl FnMut(usize, u64, Option<u64>) -> Result<VisitFlow, Error> + use<G, Error, S, T, U>,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl FnMut(usize, usize, u64) -> Result<VisitFlow, Error>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/traversal.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             impl FnMut(usize, usize, u64) -> Result<VisitFlow, Error>,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/traversal.rs:36:55
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl<S: TraversalServiceTrait + Sync> SimpleTraversal<'_, S> {
[INFO] [stdout]    |                                                       ^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |         'a,
[INFO] [stdout]    |         ^^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/traversal.rs:46:22
[INFO] [stdout]    |
[INFO] [stdout] 46 |         mut on_node: impl FnMut(usize, Option<u64>) -> Result<(), Error> + Send + 'a,
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 47 |         mut on_arc: impl FnMut(usize, usize) -> Result<(), Error> + Send + 'a,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 42 ~     , T: FnMut(usize, Option<u64>) -> Result<(), Error> + Send + 'a, U: FnMut(usize, usize) -> Result<(), Error> + Send + 'a>(
[INFO] [stdout] 43 |         &'a self,
[INFO] [stdout] 44 |         request: Request<proto::TraversalRequest>,
[INFO] [stdout] 45 |         subgraph: G,
[INFO] [stdout] 46 ~         mut on_node: T,
[INFO] [stdout] 47 ~         mut on_arc: U,
[INFO] [stdout] 48 |     ) -> Result<
[INFO] [stdout] ...
[INFO] [stdout] 52 |             impl FnMut(usize, u64, Option<u64>) -> Result<VisitFlow, Error>,
[INFO] [stdout] 53 ~             impl FnMut(usize, usize, u64) -> Result<VisitFlow, Error> + use<G, Error, S, T, U>,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/find_path.rs:249:53
[INFO] [stdout]     |
[INFO] [stdout] 249 |                             src[0..5].iter().chain([&"...".to_owned()]).join(", ")
[INFO] [stdout]     |                             ------------------------^^^^^^^^^^^^^^^^^--
[INFO] [stdout]     |                             |                       |
[INFO] [stdout]     |                             |                       this temporary value will be dropped at the end of the block
[INFO] [stdout]     |                             a temporary with access to the borrow is created here ...
[INFO] [stdout] 250 |                         };
[INFO] [stdout]     |                         - ... and the borrow might be used here, when that temporary is dropped and runs the destructor for type `std::iter::Chain<std::slice::Iter<'_, std::string::String>, std::array::IntoIter<&std::string::String, 1>>`
[INFO] [stdout] ...
[INFO] [stdout] 262 |                 find_path_to!(graph)
[INFO] [stdout]     |                 -------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the temporary is part of an expression at the end of a block;
[INFO] [stdout]             consider forcing this temporary to be dropped sooner, before the block's local variables are dropped
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `find_path_to` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: for example, you could save the expression's value in a new local variable `x` and then make `x` be the expression at the end of the block
[INFO] [stdout]     |
[INFO] [stdout] 262 |                 let x = find_path_to!(graph); x
[INFO] [stdout]     |                 +++++++                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/find_path.rs:249:53
[INFO] [stdout]     |
[INFO] [stdout] 249 |                             src[0..5].iter().chain([&"...".to_owned()]).join(", ")
[INFO] [stdout]     |                             ------------------------^^^^^^^^^^^^^^^^^--
[INFO] [stdout]     |                             |                       |
[INFO] [stdout]     |                             |                       this temporary value will be dropped at the end of the block
[INFO] [stdout]     |                             a temporary with access to the borrow is created here ...
[INFO] [stdout] 250 |                         };
[INFO] [stdout]     |                         - ... and the borrow might be used here, when that temporary is dropped and runs the destructor for type `std::iter::Chain<std::slice::Iter<'_, std::string::String>, std::array::IntoIter<&std::string::String, 1>>`
[INFO] [stdout] ...
[INFO] [stdout] 266 |                 find_path_to!(graph)
[INFO] [stdout]     |                 -------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the temporary is part of an expression at the end of a block;
[INFO] [stdout]             consider forcing this temporary to be dropped sooner, before the block's local variables are dropped
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `find_path_to` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: for example, you could save the expression's value in a new local variable `x` and then make `x` be the expression at the end of the block
[INFO] [stdout]     |
[INFO] [stdout] 266 |                 let x = find_path_to!(graph); x
[INFO] [stdout]     |                 +++++++                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/find_path.rs:576:45
[INFO] [stdout]     |
[INFO] [stdout] 576 |                     src[0..5].iter().chain([&"...".to_owned()]).join(", ")
[INFO] [stdout]     |                     ------------------------^^^^^^^^^^^^^^^^^--
[INFO] [stdout]     |                     |                       |
[INFO] [stdout]     |                     |                       this temporary value will be dropped at the end of the block
[INFO] [stdout]     |                     a temporary with access to the borrow is created here ...
[INFO] [stdout] 577 |                 };
[INFO] [stdout]     |                 - ... and the borrow might be used here, when that temporary is dropped and runs the destructor for type `std::iter::Chain<std::slice::Iter<'_, std::string::String>, std::array::IntoIter<&std::string::String, 1>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the temporary is part of an expression at the end of a block;
[INFO] [stdout]             consider forcing this temporary to be dropped sooner, before the block's local variables are dropped
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] help: for example, you could save the expression's value in a new local variable `x` and then make `x` be the expression at the end of the block
[INFO] [stdout]     |
[INFO] [stdout] 576 |                     let x = src[0..5].iter().chain([&"...".to_owned()]).join(", "); x
[INFO] [stdout]     |                     +++++++                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/find_path.rs:581:45
[INFO] [stdout]     |
[INFO] [stdout] 581 |                     dst[0..5].iter().chain([&"...".to_owned()]).join(", ")
[INFO] [stdout]     |                     ------------------------^^^^^^^^^^^^^^^^^--
[INFO] [stdout]     |                     |                       |
[INFO] [stdout]     |                     |                       this temporary value will be dropped at the end of the block
[INFO] [stdout]     |                     a temporary with access to the borrow is created here ...
[INFO] [stdout] 582 |                 };
[INFO] [stdout]     |                 - ... and the borrow might be used here, when that temporary is dropped and runs the destructor for type `std::iter::Chain<std::slice::Iter<'_, std::string::String>, std::array::IntoIter<&std::string::String, 1>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the temporary is part of an expression at the end of a block;
[INFO] [stdout]             consider forcing this temporary to be dropped sooner, before the block's local variables are dropped
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] help: for example, you could save the expression's value in a new local variable `x` and then make `x` be the expression at the end of the block
[INFO] [stdout]     |
[INFO] [stdout] 581 |                     let x = dst[0..5].iter().chain([&"...".to_owned()]).join(", "); x
[INFO] [stdout]     |                     +++++++                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/metrics.rs:50:15
[INFO] [stdout]      |
[INFO] [stdout]   34 | #[tonic::async_trait]
[INFO] [stdout]      |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]   46 |         let uri = req.uri().clone();
[INFO] [stdout]      |             ---
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `uri` calls a custom destructor
[INFO] [stdout]      |             `uri` will be dropped later as of Edition 2024
[INFO] [stdout]   47 |         let request_id = self.request_id.fetch_add(1, Ordering::Relaxed);
[INFO] [stdout]   48 |         let span = span!(Level::INFO, "request", id = request_id,);
[INFO] [stdout]      |             ----
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `span` calls a custom destructor
[INFO] [stdout]      |             `span` will be dropped later as of Edition 2024
[INFO] [stdout]   49 |
[INFO] [stdout]   50 |         match service.call(req).instrument(span.clone()).await {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.10.1/src/bytes.rs:684:1
[INFO] [stdout]      |
[INFO] [stdout]  684 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `uri` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.10.1/src/bytes.rs:684:1
[INFO] [stdout]      |
[INFO] [stdout]  684 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `span` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tracing-0.1.40/src/span.rs:1455:1
[INFO] [stdout]      |
[INFO] [stdout] 1455 | impl Drop for Span {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl FnMut(usize, u64, std::option::Option<u64>) -> Result<VisitFlow, Error>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/find_path.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |             impl FnMut(usize, u64, Option<u64>) -> Result<VisitFlow, Error>,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/find_path.rs:48:48
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl<S: super::TraversalServiceTrait> FindPath<'_, S> {
[INFO] [stdout]    |                                                ^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |         'a,
[INFO] [stdout]    |         ^^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/find_path.rs:58:18
[INFO] [stdout]    |
[INFO] [stdout] 58 |         on_node: impl FnMut(usize, u64, Option<u64>) -> Result<VisitFlow, Error> + Send + 'a,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 59 |         mut on_arc: impl FnMut(usize, usize) -> Result<VisitFlow, Error> + Send + 'a,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 54 ~     , T: FnMut(usize, u64, Option<u64>) -> Result<VisitFlow, Error> + Send + 'a, U: FnMut(usize, usize) -> Result<VisitFlow, Error> + Send + 'a>(
[INFO] [stdout] 55 |         &'a self,
[INFO] [stdout] 56 |         config: VisitorConfig,
[INFO] [stdout] 57 |         graph: G,
[INFO] [stdout] 58 ~         on_node: T,
[INFO] [stdout] 59 ~         mut on_arc: U,
[INFO] [stdout] 60 |     ) -> Result<
[INFO] [stdout] ...
[INFO] [stdout] 63 |             Error,
[INFO] [stdout] 64 ~             impl FnMut(usize, u64, Option<u64>) -> Result<VisitFlow, Error> + use<G, Error, S, T, U>,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl FnMut(usize, usize, u64) -> Result<VisitFlow, Error>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/find_path.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |             impl FnMut(usize, usize, u64) -> Result<VisitFlow, Error>,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/find_path.rs:48:48
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl<S: super::TraversalServiceTrait> FindPath<'_, S> {
[INFO] [stdout]    |                                                ^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |         'a,
[INFO] [stdout]    |         ^^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/find_path.rs:58:18
[INFO] [stdout]    |
[INFO] [stdout] 58 |         on_node: impl FnMut(usize, u64, Option<u64>) -> Result<VisitFlow, Error> + Send + 'a,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 59 |         mut on_arc: impl FnMut(usize, usize) -> Result<VisitFlow, Error> + Send + 'a,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 54 ~     , T: FnMut(usize, u64, Option<u64>) -> Result<VisitFlow, Error> + Send + 'a, U: FnMut(usize, usize) -> Result<VisitFlow, Error> + Send + 'a>(
[INFO] [stdout] 55 |         &'a self,
[INFO] [stdout] 56 |         config: VisitorConfig,
[INFO] [stdout] 57 |         graph: G,
[INFO] [stdout] 58 ~         on_node: T,
[INFO] [stdout] 59 ~         mut on_arc: U,
[INFO] [stdout] 60 |     ) -> Result<
[INFO] [stdout] ...
[INFO] [stdout] 64 |             impl FnMut(usize, u64, Option<u64>) -> Result<VisitFlow, Error>,
[INFO] [stdout] 65 ~             impl FnMut(usize, usize, u64) -> Result<VisitFlow, Error> + use<G, Error, S, T, U>,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl FnMut(usize, u64, std::option::Option<u64>) -> Result<VisitFlow, Error>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/traversal.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |             impl FnMut(usize, u64, Option<u64>) -> Result<VisitFlow, Error>,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/traversal.rs:36:55
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl<S: TraversalServiceTrait + Sync> SimpleTraversal<'_, S> {
[INFO] [stdout]    |                                                       ^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |         'a,
[INFO] [stdout]    |         ^^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/traversal.rs:46:22
[INFO] [stdout]    |
[INFO] [stdout] 46 |         mut on_node: impl FnMut(usize, Option<u64>) -> Result<(), Error> + Send + 'a,
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 47 |         mut on_arc: impl FnMut(usize, usize) -> Result<(), Error> + Send + 'a,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 42 ~     , T: FnMut(usize, Option<u64>) -> Result<(), Error> + Send + 'a, U: FnMut(usize, usize) -> Result<(), Error> + Send + 'a>(
[INFO] [stdout] 43 |         &'a self,
[INFO] [stdout] 44 |         request: Request<proto::TraversalRequest>,
[INFO] [stdout] 45 |         subgraph: G,
[INFO] [stdout] 46 ~         mut on_node: T,
[INFO] [stdout] 47 ~         mut on_arc: U,
[INFO] [stdout] 48 |     ) -> Result<
[INFO] [stdout] ...
[INFO] [stdout] 51 |             Error,
[INFO] [stdout] 52 ~             impl FnMut(usize, u64, Option<u64>) -> Result<VisitFlow, Error> + use<G, Error, S, T, U>,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl FnMut(usize, usize, u64) -> Result<VisitFlow, Error>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/traversal.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             impl FnMut(usize, usize, u64) -> Result<VisitFlow, Error>,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/traversal.rs:36:55
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl<S: TraversalServiceTrait + Sync> SimpleTraversal<'_, S> {
[INFO] [stdout]    |                                                       ^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |         'a,
[INFO] [stdout]    |         ^^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/traversal.rs:46:22
[INFO] [stdout]    |
[INFO] [stdout] 46 |         mut on_node: impl FnMut(usize, Option<u64>) -> Result<(), Error> + Send + 'a,
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 47 |         mut on_arc: impl FnMut(usize, usize) -> Result<(), Error> + Send + 'a,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 42 ~     , T: FnMut(usize, Option<u64>) -> Result<(), Error> + Send + 'a, U: FnMut(usize, usize) -> Result<(), Error> + Send + 'a>(
[INFO] [stdout] 43 |         &'a self,
[INFO] [stdout] 44 |         request: Request<proto::TraversalRequest>,
[INFO] [stdout] 45 |         subgraph: G,
[INFO] [stdout] 46 ~         mut on_node: T,
[INFO] [stdout] 47 ~         mut on_arc: U,
[INFO] [stdout] 48 |     ) -> Result<
[INFO] [stdout] ...
[INFO] [stdout] 52 |             impl FnMut(usize, u64, Option<u64>) -> Result<VisitFlow, Error>,
[INFO] [stdout] 53 ~             impl FnMut(usize, usize, u64) -> Result<VisitFlow, Error> + use<G, Error, S, T, U>,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/main.rs (1 fix)
[INFO] [stderr]    Migrating tests/server.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/server.rs:233:27
[INFO] [stdout]     |
[INFO] [stdout] 233 |     while let Some(res) = stream.next().await {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                           |             |
[INFO] [stdout]     |                           |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                           up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 234 |         nodes.push(res?);
[INFO] [stdout]     |                    ----
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 235 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.10.1/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.10.1/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.10.1/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/server.rs:317:27
[INFO] [stdout]     |
[INFO] [stdout] 317 |     while let Some(res) = stream.next().await {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                           |             |
[INFO] [stdout]     |                           |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                           up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 318 |         nodes.push(res?);
[INFO] [stdout]     |                    ----
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 319 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.10.1/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.10.1/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.10.1/src/bytes.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 45s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: proc-macro-error2 v2.0.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr] crater-edition-check: swh-graph-grpc-server v11.4.5 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]    Compiling swh-graph-grpc-server v11.4.5 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/traversal.rs:208:17
[INFO] [stdout]     |
[INFO] [stdout] 177 |         &self,
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `self` is a reference that is only valid in the method body
[INFO] [stdout]     |         has type `&SimpleTraversal<'1, S>`
[INFO] [stdout] ...
[INFO] [stdout] 208 |                 tokio::task::spawn_blocking(|| visitor.visit())
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `self` escapes the method body here
[INFO] [stdout]     |                 argument requires that `'1` must outlive `'static`
[INFO] [stdout] ...
[INFO] [stdout] 213 |                 traverse!(graph);
[INFO] [stdout]     |                 ---------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `traverse` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/traversal.rs:208:17
[INFO] [stdout]     |
[INFO] [stdout] 177 |         &self,
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `self` is a reference that is only valid in the method body
[INFO] [stdout]     |         let's call the lifetime of this reference `'2`
[INFO] [stdout] ...
[INFO] [stdout] 208 |                 tokio::task::spawn_blocking(|| visitor.visit())
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `self` escapes the method body here
[INFO] [stdout]     |                 argument requires that `'2` must outlive `'static`
[INFO] [stdout] ...
[INFO] [stdout] 213 |                 traverse!(graph);
[INFO] [stdout]     |                 ---------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `traverse` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/traversal.rs:208:17
[INFO] [stdout]     |
[INFO] [stdout] 177 |         &self,
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `self` is a reference that is only valid in the method body
[INFO] [stdout]     |         has type `&SimpleTraversal<'1, S>`
[INFO] [stdout] ...
[INFO] [stdout] 208 |                 tokio::task::spawn_blocking(|| visitor.visit())
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `self` escapes the method body here
[INFO] [stdout]     |                 argument requires that `'1` must outlive `'static`
[INFO] [stdout] ...
[INFO] [stdout] 213 |                 traverse!(graph);
[INFO] [stdout]     |                 ---------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `traverse` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/traversal.rs:208:17
[INFO] [stdout]     |
[INFO] [stdout] 177 |         &self,
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `self` is a reference that is only valid in the method body
[INFO] [stdout]     |         let's call the lifetime of this reference `'2`
[INFO] [stdout] ...
[INFO] [stdout] 208 |                 tokio::task::spawn_blocking(|| visitor.visit())
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `self` escapes the method body here
[INFO] [stdout]     |                 argument requires that `'2` must outlive `'static`
[INFO] [stdout] ...
[INFO] [stdout] 213 |                 traverse!(graph);
[INFO] [stdout]     |                 ---------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `traverse` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0521`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `swh-graph-grpc-server` (lib) due to 2 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] For more information about this error, try `rustc --explain E0521`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `swh-graph-grpc-server` (lib test) due to 2 previous errors
[INFO] running `Command { std: "docker" "inspect" "57009272408cc11b60ff19ca576968b64d9097430250dc24d1441e8e625a1746", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "57009272408cc11b60ff19ca576968b64d9097430250dc24d1441e8e625a1746", kill_on_drop: false }`
[INFO] [stdout] 57009272408cc11b60ff19ca576968b64d9097430250dc24d1441e8e625a1746
